package com.ibm.cloud.banking.media.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * media card information entity
 * @author 
 */

public class MediaCardInfo implements Serializable {

    public static final String MEDIA_CARD_STATUS_PASSWORD_LOCKED = "7";

    private Long id;

    /**
     * 卡号
     */
    private String cardNo;

    /**
     * 客户编码
     */
    private String customerNo;

    /**
     * 主附卡标志:0=主卡; 1=附卡
     */
    private String mainCardFlag;

    /**
     * 主卡卡号
     */
    private String mainCardNo;

    /**
     * 单位卡标志:1=对私; 2=对公
     */
    private String privateFlag;

    /**
     * 卡状态:0=待领; 1=待改密 ; 2=正常; 3=销户 4=没收; 5=CVV冻结; 6=不正常 7-密码锁定
     */
    private String status;

    /**
     * 挂失状态:0=正常; 1=口头挂失; 2=书面挂失 5-口头永久挂失
     */
    private String lossStatus;

    /**
     * 注销状态:0=正常; 2-主卡注销附属卡;6-系统自动注销
     */
    private String cancellationStatus;

    /**
     * 员工标志:0=非员工卡; 1=员工卡
     */
    private String employeesFlag;

    /**
     * 带折标志:1-有折; 0-无折 2-有簿
     */
    private String bankbookFlag;

    /**
     * 理财卡标志:0-非理财卡；2-理财卡
     */
    private String financialFlag;

    /**
     * 支取方式标志:1-密码；A-指纹；B-密码+指纹；C-指纹/密码
     */
    private String withdrawalFlag;

    /**
     * 换卡机构号
     */
    private String replaceBranch;

    /**
     * 开卡日期
     */
    private Date openDate;

    /**
     * 换卡日期
     */
    private Date replaceDate;

    /**
     * 挂失日期
     */
    private Date lossDate;

    /**
     * 止付日期
     */
    private Date cessationDate;

    /**
     * 止付日期
     */
    private Date cancellationDate;

    /**
     * 产品编码
     */
    private String productNo;

    /**
     * 密码
     */
    private String password;

    /**
     * 密码出错次数
     */
    private Integer errorTimes;

    /**
     * 卡等级:1-普通卡；3-金卡；4-白金卡;-5-钻石卡
     */
    private String level;

    /**
     * 交易机构
     */
    private String transBranch;

    /**
     * 交易柜员
     */
    private String transTellerId;

    /**
     * 创建时间
     */
    private Date createDt;

    /**
     * 修改时间
     */
    private Date updateDt;

    private Integer shardingId;

    private static final long serialVersionUID = 1L;

    /**
     * 账户类型:1-活期结算账号  2-定期存款子账号 3-活期存款子账号
     */
    private String type;

    /**
     * 账号
     */
    private String accountNo;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCardNo() {
		return cardNo;
	}

	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}

	public String getCustomerNo() {
		return customerNo;
	}

	public void setCustomerNo(String customerNo) {
		this.customerNo = customerNo;
	}

	public String getMainCardFlag() {
		return mainCardFlag;
	}

	public void setMainCardFlag(String mainCardFlag) {
		this.mainCardFlag = mainCardFlag;
	}

	public String getMainCardNo() {
		return mainCardNo;
	}

	public void setMainCardNo(String mainCardNo) {
		this.mainCardNo = mainCardNo;
	}

	public String getPrivateFlag() {
		return privateFlag;
	}

	public void setPrivateFlag(String privateFlag) {
		this.privateFlag = privateFlag;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getLossStatus() {
		return lossStatus;
	}

	public void setLossStatus(String lossStatus) {
		this.lossStatus = lossStatus;
	}

	public String getCancellationStatus() {
		return cancellationStatus;
	}

	public void setCancellationStatus(String cancellationStatus) {
		this.cancellationStatus = cancellationStatus;
	}

	public String getEmployeesFlag() {
		return employeesFlag;
	}

	public void setEmployeesFlag(String employeesFlag) {
		this.employeesFlag = employeesFlag;
	}

	public String getBankbookFlag() {
		return bankbookFlag;
	}

	public void setBankbookFlag(String bankbookFlag) {
		this.bankbookFlag = bankbookFlag;
	}

	public String getFinancialFlag() {
		return financialFlag;
	}

	public void setFinancialFlag(String financialFlag) {
		this.financialFlag = financialFlag;
	}

	public String getWithdrawalFlag() {
		return withdrawalFlag;
	}

	public void setWithdrawalFlag(String withdrawalFlag) {
		this.withdrawalFlag = withdrawalFlag;
	}

	public String getReplaceBranch() {
		return replaceBranch;
	}

	public void setReplaceBranch(String replaceBranch) {
		this.replaceBranch = replaceBranch;
	}

	public Date getOpenDate() {
		return openDate;
	}

	public void setOpenDate(Date openDate) {
		this.openDate = openDate;
	}

	public Date getReplaceDate() {
		return replaceDate;
	}

	public void setReplaceDate(Date replaceDate) {
		this.replaceDate = replaceDate;
	}

	public Date getLossDate() {
		return lossDate;
	}

	public void setLossDate(Date lossDate) {
		this.lossDate = lossDate;
	}

	public Date getCessationDate() {
		return cessationDate;
	}

	public void setCessationDate(Date cessationDate) {
		this.cessationDate = cessationDate;
	}

	public Date getCancellationDate() {
		return cancellationDate;
	}

	public void setCancellationDate(Date cancellationDate) {
		this.cancellationDate = cancellationDate;
	}

	public String getProductNo() {
		return productNo;
	}

	public void setProductNo(String productNo) {
		this.productNo = productNo;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Integer getErrorTimes() {
		return errorTimes;
	}

	public void setErrorTimes(Integer errorTimes) {
		this.errorTimes = errorTimes;
	}

	public String getLevel() {
		return level;
	}

	public void setLevel(String level) {
		this.level = level;
	}

	public String getTransBranch() {
		return transBranch;
	}

	public void setTransBranch(String transBranch) {
		this.transBranch = transBranch;
	}

	public String getTransTellerId() {
		return transTellerId;
	}

	public void setTransTellerId(String transTellerId) {
		this.transTellerId = transTellerId;
	}

	public Date getCreateDt() {
		return createDt;
	}

	public void setCreateDt(Date createDt) {
		this.createDt = createDt;
	}

	public Date getUpdateDt() {
		return updateDt;
	}

	public void setUpdateDt(Date updateDt) {
		this.updateDt = updateDt;
	}

	public Integer getShardingId() {
		return shardingId;
	}

	public void setShardingId(Integer shardingId) {
		this.shardingId = shardingId;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getAccountNo() {
		return accountNo;
	}

	public void setAccountNo(String accountNo) {
		this.accountNo = accountNo;
	}

}